package com.dd.machine.main.Interface;

/**
 * Created by LZX on 2017/8/1.
 */

public interface HardwareInterface {
    /**
     * 读取IC卡号码
     * @param cardNo
     */
    void onCardReadSuccess(String cardNo);

    /**
     * 获取限位开关状态
     * @param id 标识限位开关 1~6
     *  return   boolean 0 关，1 开
     */
    void getLimitSwitchStatus(int id);

    /**
     * 控制电动推杆 推出或拉回
     * @param direction 控制左侧还是右侧推杆，LEFT，RIGHT
     */
    //推出
    void pushRod(String direction);
    //拉回
    void pullRod(String direction);


    /**
     * 获得电子称的数值
     * return int 克
     * 如果称重结果超出量程，该方法会抛出超重异常：OverWeightException.
     */
    void getWeight();
    /**
     *设置去皮重量
     * @param selfWeight 电子秤自身重量
     */
    void setBalance(int selfWeight);


    /**
     * 打印条码
     * @param type 品类，如易拉罐、报纸
     * @param no 订单号码
     *  无纸报警  如果无纸，该方法会抛出无纸异常：NoPaperException
     *
     */
    void print(String type, String no);

    /**
     * 控制电机正转反转进行投放
     * @param direction  投放方向，LEFT，RIGHT。
     */
    void rotate(String direction);

    /**
     * 控制电子锁开门
     * @param id 标识电子锁的ID
     */
    void openLock(int id);
}
